package sparql;

import java.util.ArrayList;

/**
 * Cette classe contient une liste de sous requetes (String) et une liste de
 * poids de meme longueur. Il s'agit d'un poids calcule par rapport a la
 * longueur et la position de la sous requete dans la requete d'origine On
 * utilise cette classe plutot qu'une Map<String,Integer> car on veut pouvoir
 * conserver un ordre de parcours, ce que la map n'offre pas
 * 
 */
public class SousRequetesPonderees {

	/**
	 * Les sous requetes
	 */
	private ArrayList<String> sousRequetes;

	/**
	 * Les poids
	 */
	private ArrayList<Integer> poids;

	/**
	 * Les indices de debut des sous requetes
	 */
	private ArrayList<Integer> indicesDebut;

	/**
	 * Les indices de fin des sous requetes
	 */
	private ArrayList<Integer> indicesFin;

	/**
	 * Constructeur
	 * 
	 * @param sousRequetes
	 *            les sous requetes
	 * @param poids
	 *            les poids
	 */
	public SousRequetesPonderees(ArrayList<String> sousRequetes,
			ArrayList<Integer> poids, ArrayList<Integer> indicesDebut, ArrayList<Integer> indicesFin) {
		super();
		this.sousRequetes = sousRequetes;
		this.poids = poids;
		this.indicesDebut = indicesDebut;
		this.indicesFin = indicesFin;
	}

	/**
	 * Getter des sous requetes
	 * 
	 * @return les sous requetes
	 */
	public ArrayList<String> getSousRequetes() {
		return sousRequetes;
	}

	/**
	 * Getter des poids
	 * 
	 * @return les poids
	 */
	public ArrayList<Integer> getPoids() {
		return poids;
	}

	/**
	 * Getter des indices de debut
	 * @return les indices de debut des sous requetes
	 */
	public ArrayList<Integer> getIndicesDebut() {
		return indicesDebut;
	}

	/**
	 * Getter des indices de fin
	 * @return les indices de fin des sous requetes
	 */
	public ArrayList<Integer> getIndicesFin() {
		return indicesFin;
	}
	
	
}
